﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ScriptCoreLib;
namespace Box2D.Collision.Shapes
{
    [Script(HasNoPrototype = true, ExternalTarget = "Box2D.Collision.Shapes.b2PolygonShape")]
    internal class b2PolygonShape
    {


        public b2PolygonShape()
        {


        }

        

        internal void SetAsBox(double p, double p_2)
        {
            
        }
    }
    [Script(HasNoPrototype = true, ExternalTarget = "Box2D.Collision.Shapes.b2CircleShape")]
    internal class b2CircleShape
    {
        



        

        public b2CircleShape(double p)
        {
            
        }


        
    }
}
namespace Box2D.Common.Math
{
    [Script(HasNoPrototype = true, ExternalTarget = "Box2D.Common.Math.b2Vec2")]
    internal class b2Vec2
    {
        public double x;
        public double y;


        public b2Vec2(double p, double p_2)
        {


        }
    }
}
namespace Box2D.Dynamics
{
    [Script(HasNoPrototype = true, ExternalTarget = "Box2D.Dynamics.b2Body")]
    internal class b2Body
    {

        internal void CreateFixture(b2FixtureDef fixDef)
        {
            
        }
    }
    [Script(HasNoPrototype = true, ExternalTarget = "Box2D.Dynamics.b2World")]
    internal class b2World
    {


        public b2World(Box2D.Common.Math.b2Vec2 p, bool p_2)
        {


        }

        internal void SetDebugDraw(b2DebugDraw debugDraw)
        {
            
        }

        

        internal void DrawDebugData()
        {
            
        }

        internal void ClearForces()
        {
            
        }

        internal b2Body CreateBody(b2BodyDef bodyDef)
        {
            return default(b2Body);
        }

        internal void Step(double p, int p_2, int p_3)
        {
            
        }
    }
    [Script(HasNoPrototype = true, ExternalTarget = "Box2D.Dynamics.b2DebugDraw")]
    internal class b2DebugDraw
    {


        public b2DebugDraw()
        {


        }

        internal void SetSprite(object context)
        {
            
        }

        internal void SetDrawScale(double p)
        {
            
        }

        internal void SetFillAlpha(double p)
        {
            
        }

        internal void SetLineThickness(double p)
        {
           
        }

        internal void SetFlags(int p)
        {
            
        }
    }
    [Script(HasNoPrototype = true, ExternalTarget = "Box2D.Dynamics.b2FixtureDef")]
    internal class b2FixtureDef
    {
        public double density;
        public double friction;
        public double restitution;
        public object shape;


        public b2FixtureDef()
        {


        }
    }
    [Script(HasNoPrototype = true, ExternalTarget = "Box2D.Dynamics.b2BodyDef")]
    internal class b2BodyDef
    {
        public int type;
        public Common.Math.b2Vec2 position;



        public b2BodyDef()
        {


        }
    }
}
namespace With_box2web.Library
{

    [Script]
    internal class __Box2D : Box2D
    {
        // this should be generated via assets build :)

        // accessing this variable the first time could
        // trigger dynamic loading of this library
        // or actually just using this from Application should trigger the download
        // before app launch

        //[Script(ExternalTarget = "mat4")]
        //static public mat4 mat4;
    }
}
